/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.compra.controlador;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import sv.com.intesal.clases.Mensaje;
import sv.com.intesal.compra.bean.Categoria;
import sv.com.intesal.compra.bean.SubCategoria;
import sv.com.intesal.compra.sql.SQLCategoria;
import sv.com.intesal.compra.sql.SQLSubCategoria;
import sv.com.intesal.conexion.cConexion;

/**
 *
 * @author JM
 */
public class CategoriaControlador {

    public void mantenimientoCategoria(Categoria c) throws Exception {

        PreparedStatement ps = null;
        Connection cnn = null;
        try {
            cnn = cConexion.conectar();
            if (c.getId_cat() == 0) {
                ps = cnn.prepareStatement(SQLCategoria.INSERTAR);
            } else {
                ps = cnn.prepareStatement(SQLCategoria.MODIFICAR);
                ps.setInt(2, c.getId_cat());
            }
            ps.setString(1, c.getNombre_cat());
            ps.executeUpdate();

            Mensaje m = new Mensaje();
            if (c.getId_cat() == 0) {
                m.messageInfo(m.getIinformation());
            } else {
                m.messageInfo(m.getImodificada());
            }
        } catch (Exception e) {
            throw new Exception(e);
        }
    }

    public List<Categoria> getAllCategoria() throws Exception {
        List<Categoria> todasCategoria = new ArrayList<Categoria>();
        ResultSet rs = null;
        try {
            rs = cConexion.conectar().createStatement().executeQuery(SQLCategoria.ALL);
            while (rs.next()) {
                Categoria cat = new Categoria();
                cat.setId_cat(rs.getInt("id_cat"));
                cat.setNombre_cat(rs.getString("nombre_cat"));
                todasCategoria.add(cat);
            }
            return todasCategoria;
        } catch (Exception e) {
            throw new Exception(e);
        }

    }



    public List<Categoria> fillComboBox() throws Exception {
        List<Categoria> list = new ArrayList<Categoria>();
        try {
            ResultSet rs = cConexion.conectar().prepareStatement(SQLSubCategoria.ALLLista).executeQuery();
            while (rs.next()) {
                Categoria ca = new Categoria();
                ca.setId_cat(rs.getInt("id_cat"));
                ca.setNombre_cat(rs.getString("nombre_cat"));
                list.add(ca);
            }
            rs.close();
            return list;
        } catch (Exception e) {
            throw new Exception(e);
        }
    }
}
